﻿//////////////////////////////////////////////////////////////////////////////
//
// Copyright © 1998-2024 Glodon Company Limited.
//
// Licensed under the MIT License
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the “Software”),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//////////////////////////////////////////////////////////////////////////////
#include "DrawingBuiltInParameterDefinitions.h"
#include "UniIdentity.h"
#include "IParameterValueDisplayString.h"
#include "IParameterValueInt.h"
#include "IParameterDefinitionLibrary.h"
#include "UnitUniIdentities.h"
#include "ParameterType.h"
#include "EnableCompileWarning_The_LAST_IncludeInCpp.h"

using namespace gcmp;

//namespace gcmp
//{
//    namespace BuiltInParameterDefinitions
//    {
        // 二维出图相关
        //图纸相关参数
        DECLARE_GUID(DrawingConstructionCompanyBuiltInParameter) = { 0xb7bdb4b7, 0x2df6, 0x4941,{ 0x8e, 0x2c, 0x39, 0xb9, 0x46, 0xc2, 0x46, 0xe4 } }; //{B7BDB4B7-2DF6-4941-8E2C-39B946C246E4}
        IMPLEMENT_PD(DrawingConstructionCompanyBuiltInParameter, GBMP_TR(L"建设单位"), GBMP_TR(L""), GBMP_TR(L"建设单位"), L"PD - Construction Unit", ParameterStorageType::String, UNIT(None), PARAMETER_TYPE(Text));
        DECLARE_GUID(DrawingLayoutModelBuiltInParameter) = { 0x20372589, 0x752a, 0x4d2a,{ 0xb9, 0xc8, 0xfe, 0x41, 0xb6, 0xf2, 0x98, 0x3d } }; // {20372589-752A-4D2A-B9C8-FE41B6F2983D}
        IMPLEMENT_PD(DrawingLayoutModelBuiltInParameter, GBMP_TR(L"图纸模板"), GBMP_TR(L""), GBMP_TR(L"图纸模板"), L"PD - Paper Model", ParameterStorageType::String, UNIT(None), PARAMETER_TYPE(Text));
        DECLARE_GUID(DrawingLayoutNameBuiltInParameter) = { 0xda39c554, 0x6c01, 0x4a00,{ 0x9e, 0xb0, 0xc3, 0x0b, 0xf0, 0x28, 0xe3, 0xa0 } };  //{DA39C554-6C01-4A00-9EB0-C30BF028E3A0}
        IMPLEMENT_PD(DrawingLayoutNameBuiltInParameter, GBMP_TR(L"图纸名称"), GBMP_TR(L""), GBMP_TR(L"图纸名称"), L"PD - Paper Name", ParameterStorageType::String, UNIT(None), PARAMETER_TYPE(Text));
        DECLARE_GUID(DrawingLayoutScaleBuiltInParameter) = { 0x811f8b96, 0xf325, 0x48bc,{ 0x9e, 0x24, 0xea, 0xed, 0x37, 0x95, 0x41, 0xb8 } }; //{811F8B96-F325-48BC-9E24-EAED379541B8}
        IMPLEMENT_PD(DrawingLayoutScaleBuiltInParameter, GBMP_TR(L"图纸比例"), GBMP_TR(L""), GBMP_TR(L"图纸比例"), L"PD - Drawing Scale", ParameterStorageType::String, UNIT(None), PARAMETER_TYPE(Text));

        //视口
        DECLARE_GUID(DrawingViewPortNameBuiltInParameter) = { 0x51786772, 0xc5e2, 0x4ad6,{ 0xaf, 0x5d, 0x34, 0xd9, 0x01, 0x05, 0x4d, 0x1b } };  //{51786772-C5E2-4AD6-AF5D-34D901054D1B}
        IMPLEMENT_PD(DrawingViewPortNameBuiltInParameter, GBMP_TR(L"视口名称"), GBMP_TR(L""), GBMP_TR(L"视口名称"), L"PD - Viewport Name", ParameterStorageType::String, UNIT(None), PARAMETER_TYPE(Text));

        DECLARE_GUID(DrawingViewPortIndexBuiltInParameter) = { 0xbddb0f33, 0xb000, 0x48b4,{ 0xaa, 0xc1, 0x79, 0x46, 0x6b, 0x56, 0xe7, 0xdc } }; //{BDDB0F33-B000-48B4-AAC1-79466B56E7DC}
        IMPLEMENT_PD(DrawingViewPortIndexBuiltInParameter, GBMP_TR(L"视口编号"), GBMP_TR(L""), GBMP_TR(L"视口编号"), L"PD - Viewport Index", ParameterStorageType::Int, UNIT(None), PARAMETER_TYPE(Number));

        DECLARE_GUID(DrawingViewPortLockBuiltInParameter) = { 0xbec28700, 0xf3d4, 0x4592,{ 0xa7, 0x71, 0x99, 0xf7, 0xb2, 0x49, 0x94, 0x97 } }; //{BEC28700-F3D4-4592-A771-99F7B2499497}
        IMPLEMENT_PD(DrawingViewPortLockBuiltInParameter, GBMP_TR(L"显示锁定"), GBMP_TR(L""), GBMP_TR(L"显示锁定"), L"PD - Viewport Lock", ParameterStorageType::Bool, UNIT(None), PARAMETER_TYPE(YesNo));
    
        //视口类型
        DECLARE_GUID(DrawingViewportTypeTitleBuiltInParameter) = { 0x0b9e8c59, 0x3462, 0x4680,{ 0x81, 0x77, 0xab, 0xcf, 0x41, 0xce, 0x94, 0x50 } }; // {0B9E8C59-3462-4680-8177-ABCF41CE9450}
        IMPLEMENT_PD(DrawingViewportTypeTitleBuiltInParameter, GBMP_TR(L"标题"), GBMP_TR(L""), GBMP_TR(L"标题"), L"PD - Viewport Title", ParameterStorageType::String, UNIT(None), PARAMETER_TYPE(Text));

        DECLARE_GUID(DrawingViewportTypeDisplayTitleBuiltInParameter) = { 0x33581ea4, 0x75c8, 0x4a64, { 0xa6, 0x89, 0x74, 0x8e, 0xb6, 0x11, 0xc5, 0x63 } }; //{33581EA4-75C8-4A64-A689-748EB611C563}
        IMPLEMENT_PD(DrawingViewportTypeDisplayTitleBuiltInParameter, GBMP_TR(L"显示标题"), GBMP_TR(L""), GBMP_TR(L"显示标题"), L"PD - Viewport DisplayTitle", ParameterStorageType::Bool, UNIT(None), PARAMETER_TYPE(YesNo));

        ////文字
        //DECLARE_GUID(AcadStyleStringBuiltInParameter) = { 0xffa6ff8a, 0x5692, 0x4dcb,{ 0xbb, 0x1b, 0xb2, 0xc2, 0x0f, 0x72, 0xc5, 0xfe } };  //{FFA6FF8A-5692-4DCB-BB1B-B2C20F72C5FE}
        //IMPLEMENT_PD(AcadStyleStringBuiltInParameter, GBMP_TR(L"文字"), GBMP_TR(L""), GBMP_TR(L"文字"), L"PD - Text", ParameterStorageType::String, UNIT(None), PARAMETER_TYPE(Text));

        //DECLARE_GUID(TextSizeChangeWithViewScaleBuiltInParameter) = { 0xe105c3c6, 0xc269, 0x4320,{ 0xbc, 0x18, 0x18, 0x97, 0xd3, 0x8e, 0xdd, 0x3a } }; //{E105C3C6-C269-4320-BC18-1897D38EDD3A}
        //IMPLEMENT_PD(TextSizeChangeWithViewScaleBuiltInParameter, GBMP_TR(L"随视图比例变化"), GBMP_TR(L""), GBMP_TR(L"是否随视图比例变化"), L"PD = Size Changge With View Scale", ParameterStorageType::Bool, UNIT(None), PARAMETER_TYPE(YesNo));
